package com.un.ebs.invoice.domain;

import java.util.Date;
import com.un.ebs.invoice.enums.InvoiceTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (InvoiceNoteExt)表实体类
 *
 * @author makejava
 * @since 2021-03-22 14:46:00
 */
@Data
@Component
@TableName("v_invoice_note_ext")
@SuppressWarnings("serial")
public class InvoiceNoteExt extends Model<InvoiceNoteExt> {

                
    @DbField(name = "invoice_note_id",  length = 40 , precision = 0)
    private String invoiceNoteId;
                
    @DbField(name = "ent_id",  length = 40 , precision = 0)
    private String entId;
                
    @DbField(name = "ent_code",  length = -1 , precision = 0)
    private Integer entCode;
                
    @DbField(name = "ent_name",  length = 255 , precision = 0)
    private String entName;
                
    @DbField(name = "contract_code",  length = 20 , precision = 0)
    private String contractCode;
                
    @DbField(name = "invoice_code",  length = -1 , precision = 0)
    private Integer invoiceCode;
                
    @DbField(name = "personnel_id",  length = 40 , precision = 0)
    private String personnelId;
                
    @DbField(name = "personnel_name",  length = 100 , precision = 0)
    private String personnelName;
                
    @DbField(name = "invoice_type",  length = -1 , precision = 0)
    private InvoiceTypeEnum invoiceType;
                
    @DbField(name = "invoice_date",  length = -1 , precision = 0)
    private Date invoiceDate;

    @DbField(name = "invoice_no", length = 100, precision = 0)
    private String invoiceNo;

    @DbField(name = "tax_rate", length = 10, precision = 2)
    private Double taxRate;

    @DbField(name = "cost_money", length = 38, precision = 8)
    private Double costMoney;

    @DbField(name = "invoice_money", length = 38, precision = 6)
    private Double invoiceMoney;

    @DbField(name = "invoice_money_not_tax", length = 38, precision = 6)
    private Double invoiceMoneyNotTax;

    @DbField(name = "cash_money", length = 38, precision = 2)
    private Double cashMoney;

    @DbField(name = "can_cash_money", length = 38, precision = 2)
    private Double canCashMoney;

    @DbField(name = "sale_money", length = 38, precision = 6)
    private Double saleMoney;

    @DbField(name = "submit_time", length = -1, precision = 0)
    private Date submitTime;

    @DbField(name = "account_year", length = -1, precision = 0)
    private Integer accountYear;

    @DbField(name = "account_month", length = -1, precision = 0)
    private Integer accountMonth;

    @DbField(name = "remark", length = 100, precision = 0)
    private String remark;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;
                
    @DbField(name = "finance_id",  length = 10 , precision = 0)
    private String financeId;
                
    @DbField(name = "finance_code",  length = 10 , precision = 0)
    private String financeCode;
                
    @DbField(name = "finance_send_time",  length = -1 , precision = 0)
    private Date financeSendTime;
                
    @DbField(name = "submit_status",  length = -1 , precision = 0)
    private Boolean submitStatus;
                
    @DbField(name = "submit_at",  length = 40 , precision = 0)
    private String submitAt;
                
    @DbField(name = "submit_at_name",  length = 100 , precision = 0)
    private String submitAtName;
                
    @DbField(name = "audit_at",  length = 40 , precision = 0)
    private String auditAt;
                
    @DbField(name = "audit_at_name",  length = 100 , precision = 0)
    private String auditAtName;
                
    @DbField(name = "audit_time",  length = -1 , precision = 0)
    private Date auditTime;
                
    @DbField(name = "audit_status",  length = -1 , precision = 0)
    private Boolean auditStatus;
                
    @DbField(name = "workflow_instance_id",  length = 40 , precision = 0)
    private String workflowInstanceId;
                
    @DbField(name = "workflow_pass_status",  length = -1 , precision = 0)
    private Boolean workflowPassStatus;

    @DbField(name = "is_back",  length = -1 , precision = 0)
    private Boolean isBack;

    @DbField(name = "back_note_id",  length = 40 , precision = 0)
    private String backNoteId;
}